package us.proyecto.canarios.domain;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

/**
 * Clase que mapea la tabla INCIDENCIA
 * @author Juan Antonio Mena Sánchez
 *
 */
@Entity
@Table(name = "INCIDENCIA_PAJARO")
public class IncidenciaPajaro {

	private int idIncidencia;
	private Date fecha;
	private String observaciones;
	private Pajaro pajaro;
	private Boolean nueva;

	/**
	 * @return the idIncidencia
	 */
	@Id
    @SequenceGenerator(name = "incidenciaId", sequenceName = "CAN_INC_PAJ_SEQ", initialValue = 1, allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "incidenciaId")
    @Column(name = "ID_INCIDENCIA", nullable = false, precision = 8, scale = 0)
	public int getIdIncidencia() {
		return idIncidencia;
	}
	/**
	 * @param idIncidencia the idIncidencia to set
	 */
	public void setIdIncidencia(int idIncidencia) {
		this.idIncidencia = idIncidencia;
	}
	/**
	 * @return the fecha
	 */
	@Temporal(TemporalType.DATE)
	@Column(name = "FECHA")
	public Date getFecha() {
		return fecha;
	}
	/**
	 * @param fecha the fecha to set
	 */
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}
	/**
	 * @return the observaciones
	 */
	public String getObservaciones() {
		return observaciones;
	}
	/**
	 * @param observaciones the observaciones to set
	 */
	@Column(name = "OBSERVACIONES", length = 4000)
	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}
	
	
	
	@Transient
	public Boolean getNueva() {
		return nueva;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "FK_PAJ")
	public Pajaro getPajaro() {
		return pajaro;
	}
	
	public void setPajaro(Pajaro pajaro) {
		this.pajaro = pajaro;
	}
	public void setNueva(Boolean nueva) {
		this.nueva = nueva;
	}



}
